<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>JSON数据</title>
    </head>
    <body>
        <!--
            JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集，采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写，同时也易于机器解析和生成，并有效地提升网络传输效率。
        -->

    </body>
</html>
<script>
    var jsonObj = {
        name: "小明",
        "age": 22,
        gender: "男"
    };

    // 将json对象序列化 (转化成字符串)
    // 将对象转化成字符串
    var result = JSON.stringify(jsonObj);
    console.log(result);

    // 第二个参数为数组的话, 可以规定返回值中的key-value以及它们出现的顺序
    result = JSON.stringify(jsonObj, ["age", "name"]);
    console.log(result);

    result = JSON.stringify(jsonObj, function (key, value) {
        console.log(key, value);
        if (key == "name") {
            return "帅哥";
        } else {
            return value;
        }
    });
    console.log(result);

//    result = JSON.stringify(jsonObj, "", "ok");
//    console.log(result);

    // 第三个参数, 空白符数量, 最大为10
    result = JSON.stringify(jsonObj, ["name", "age", "gender"], 20);
    console.log(result);


    // 反序列化, 将JSON串转化成JSON对象
    var resultObj = JSON.parse(result);
    console.log(resultObj);
    console.log(resultObj.name, resultObj.age, resultObj.gender);

    resultObj = JSON.parse(result, function (key, value) {
        if (key == "name") {
            return "呵呵";
        }  else {
            return value;
        }
    });
    console.log(resultObj);







</script>